Modular Flow Analysis for Concurrent Software
نویسنده
چکیده
Modern software systems are designed and implemented in a modular fashion by composing individual components. Early validation of individual module designs and implementations offers the potential to detect and correct defects that might otherwise go undetected until system-level validation. This is particularly true for errors related to interactions between system components. In this paper, we describe a static analysis approach that allows validation of components, or groups of components, of sequential or concurrent software systems. This work builds off of an existing approach, FLAVERS, that uses program flow analysis to verify explicitly stated correctness properties of software systems. We illustrate our modular analysis approach and some of its benefits by describing part of a case-study with a realistic concurrent multi-component system.
منابع مشابه
Toward Optimization of Concurrent Ml
Concurrent ML (CML) is a statically-typed higher-order concurrent language that is embedded in Standard ML. Its most notable feature are first-class synchronous operations, which allow programmers to encapsulate complicated communication and synchronization protocols as first-class abstractions. This feature encourages a modular style of programming, where the actual underlying channels used to...
متن کاملModular and Incremental Analysis of Concurrent Software Systems
Modularization and abstraction are the keys to practical verification and analysis of large and complex systems. We present in an incremental methodology for the automatic analysis and verification of concurrent software systems. Our methodology is based on the theory of abstract interpretation. We first propose a compositional data flow analysis algorithm that computes invariants of concurrent...
متن کاملExperiments with Modular FLAVERS Analysis
Analyzing the potential behavior of concurrent software is a diicult and complex problem. In this paper, we describe an analysis approach that takes advantage of the modular structure of complex software systems to reduce the cost of analysis. This work builds oo of an existing approach, FLAVERS, that uses program ow analysis to verify explicitly stated correctness properties of concurrent soft...
متن کاملOracle Semantics for Concurrent Separation Logic
We define (with machine-checked proofs in Coq) a modular operational semantics for Concurrent C minor—a language with shared memory, spawnable threads, and first-class locks. By modular we mean that one can reason about sequential control and data-flow knowing almost nothing about concurrency, and one can reason about concurrency knowing almost nothing about sequential control and data-flow con...
متن کاملModular Shape Analysis for View-Serializable Libraries
We present novel modular static shape analysis algorithms for concurrent libraries. Our analyses conservatively verify the absence of certain memory and concurrency errors, verify a certain class of program assertions, and infer shape (heap) module invariants. The key idea is to focus on a class of concurrent programs that follow certain standard locking policies which ensure viewserializabilit...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997